Many systems, such as systems present within a mobile device, may need to synchronize an event sensed by a sensor with other pieces of information such as readings from other sensors, with data, signals, events, and readings. Examples of such sensors include inertial sensors (i.e. accelerometers, gyroscopes) or other sensors (e.g. magnetometers, pressure sensors, etc.). Mobile devices such as cellular phones, smart phones, tablets, Personal Digital Assistants (PDAs), GPS units etc. often contain sensors. Various sensors can be implemented as micro-electromechanical systems (MEMS). The sensors can collect data regarding the environment of the device or physical events experienced by the device such as acceleration or rotation, as well as other physical quantities.
Using sensors present within the mobile device, a mobile device can determine its acceleration and/rotation, position, surrounding temperature, surrounding magnetic field, and so on. Examples of sensors include accelerometer, gyroscope, thermometer, positioning systems, accelerometer, etc. However, by the time a sensor reading is reported, some delay could have already occurred. It is challenging to efficiently and accurately estimate the time when an event actually occurred, and correlate the event with a sensor reading.